/**
 * 
 * @author Kassio Kiarelly Soares de Oliveira <kassiokiarelly@gmail.com>
 * www.kassio.net
 *
 **/
package pod1_hoteis;

import Fachada.Fachada;
import Modelo.Hospede;
import Modelo.Hotel;
import Modelo.Quarto;
import Modelo.Reserva;
import java.rmi.RemoteException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class TesteReserva {

    private Fachada fachada = Fachada.getInstance();

    public TesteReserva() throws ParseException, RemoteException {

        
        
        
        Hospede hsp = fachada.getDaoHospede().findAll().get(1);
        
        hsp.setSaldo(100);
        
        fachada.getDaoHospede().edit(hsp);                
        
        fachada.getDaoHospede().edit(hsp);
        
        System.exit(0);
        
        
        for (Hospede h : this.fachada.getDaoHospede().findAll()) {
            System.out.println(h.toString() + " + " + h.getSaldo());
        }
        
        for (Reserva res : this.fachada.getDaoReserva().findAll()) {
            System.out.println(res.toString());
        }
        
        System.exit(0);
        
        Hotel tempHotel = this.fachada.getDaoHotel().find(1);
        Quarto tempQuarto = tempHotel.getQuarto(1);

        // data 
        SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
        Date inicio = sdf.parse("01/04/2012");
        Date fim = sdf.parse("01/05/2012");
        inicio.setHours(12);
        fim.setHours(12);

        for (Hotel hotel : this.fachada.getDaoHotel().findAll()) {
            System.out.println(hotel.toString());
            for (Quarto q : hotel.getQuartos()) {
                System.out.println("\t->" + q.getNumero());
            }
        }

        
        
//        this.fachada.getDaoReserva().getRepositorio().getReservas().remove(0);
//        this.fachada.getDaoReserva().salvarRepositorio();

        

        Hospede kassio = this.fachada.getDaoHospede().find(1);
        Reserva r = new Reserva();
        r.setHotel(tempHotel);
        r.setQuarto(tempHotel.getQuarto(3));
        r.setHospede(kassio);
        r.setInicio(inicio);
        r.setFim(fim);

        fachada.getDaoReserva().add(r);
        System.out.println("Pode reservar? " + fachada.getDaoReserva().verificaSePodeReservarQuarto(r));
    }

    public static void main(String[] args) throws ParseException, RemoteException {
        new TesteReserva();
    }
}
